home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / gfx / 3d / ObjectEditor.lzh / ObEdDoc < prev    next >
Text File  |  1993-01-16  |  27KB  |  838 lines

  1. ObEd V1.0 - The Ultimate Object Editor for Demos and Simulators
  2.  
  3. CREDITS
  4.  
  5. Design        Per Christian Odegard
  6. Programming    Per Christian Odegard
  7. Graphics    Per Christian Odegard
  8. Documentation    Per Christian Odegard
  9.  
  10. Per Christian Odegard works for Quark Grafix.
  11.  
  12. Contacts:
  13.  
  14. Snail mail:
  15.  
  16. Per Christian Odegard
  17. Djupdalsfaret 7
  18. N-2200 KONGSVINGER
  19. NORWAY
  20.  
  21. Internet:
  22.  
  23. perod@ifi.uio.no
  24.  
  25. IRC:
  26.  
  27. Viol8r, CoolHand or Quark
  28.  
  29.  
  30. ---------------
  31. --- GENERAL ---
  32. ---------------
  33.  
  34. ABOUT OBED
  35.  
  36.     ObEd is a general purpose  3D  model  designer,  programmed  for the
  37.     author's own use, but released as Public Domain software as a result
  38.     of public request.  The editor does only support 16 colour,  simple,
  39.     and relatively  small objects,  and is NOT intended to be used as an
  40.     editor for use with  ray tracing programs.   The current limits are:
  41.  
  42.     Colours:    16
  43.     Points:        999
  44.     Surfaces:    999
  45.     Objects:    999
  46.     Coord. values:    -9999 to +9999
  47.  
  48.     These  limits  will probably change,   as the author is  planning an
  49.     A1200  version of ObEd.  However,  he doesn't  own one yet,   so all
  50.     offers are welcome :-)
  51.  
  52. HISTORY
  53.  
  54.     The work on ObEd  started when the author needed a tool for creating
  55.     models for a flight simulator he was working on.  Writing dc.w lines
  56.     in the source code got a bit boring after the sqillionth line, so he
  57.     decided that something had to be done. The actual coding started one
  58.     hot summer afternoon in the year of 1992, and he has added new stuff
  59.     when he had time for such pleasures, which wasn't very often,  as he
  60.     had to do his military duties this year. However, on his leaves,  he
  61.     sat up all night getting red-eyed programming new bits on ObEd.   By
  62.     Chistmas 1992 the program version 1.0 was finished. Still,  the docs
  63.     had to be written, and here it is  -  in January 1993  -  ObEd V1.0.
  64.     The author  really hopes  you enjoy  this piece of  Amiga  software.
  65.  
  66. LIBRARIES
  67.  
  68.     ObEd will only work on Amigas with Kickstart 2.04 ROMs.  You'll also
  69.     need these libraries:
  70.  
  71.     dos.library        V37.44
  72.     exec.library        V37.132
  73.     gadtools.library    V37
  74.     graphics.library    V37.35
  75.     intuition.library    V37.318
  76.     reqtools.library    V37
  77.  
  78. REQUESTERS
  79.  
  80.     From time to  time,  you will be  asked to  verify  your actions  (a
  81.     chance  to chicken out), in other words,  a requester will pop up on
  82.     the  screen,  asking you a  'yes or no'  question.  Pressing Y, V or
  83.     ENTER will activate the 'Yep' gadget, while N or B will activate the
  84.     'Nope'  gadget.  You may also use the mouse to  select  your  reply.
  85.  
  86. WARNINGS
  87.  
  88.     Sometimes,  ObEd opens a window  displaying a  warning or a piece of
  89.     information. Just press SPACE  (or click on the gadget)  to continue
  90.     after you've read the message.
  91.  
  92. KNOWN BUGS
  93.  
  94.     Sometimes,  the machine crashes after a window is closed. After some
  95.     rewriting,  this has not happened again, but it still might. The bug
  96.     was never found, the code was just written another way. So save your
  97.     models frequently. Just in case ;) The screen also flickers somewhat
  98.     on  slower  machines.  This  is  because the  blitter is  unable  to
  99.     transfer 4 bitplanes in one frame.
  100.  
  101. STRUCTURE
  102. ---------
  103.     
  104.     Points:        Coorinates  in   3-space  consists of  X,  Y  and  Z
  105.             values.    The coordinates may be in the range -9999 to
  106.             9999. The  maximum number of points is currently set
  107.             to 999.
  108.  
  109.     Surfaces:    Each  surface consists of four  points.  In order to
  110.             make a triangle,  make the  last  two point  numbers
  111.             the same.  For a  line, make the  last  three  point
  112.             numbers the  same etc.  The  colour of a  surface is
  113.             defined  by  four digits.  The fourth  digit is  the
  114.             surface's  main  colour,  the  third  is  its  shade
  115.             colour.  The  first and  second digits  work in  the
  116.             same  way,  only for  the back  side of the surface.
  117.             Examples follow:
  118.                 0003 - Surface colour is 3
  119.                 040b - Front colour is $b and back col. is 4
  120.                 0062 - Surface is  shaded using cols 6 and 2
  121.             Note:   A  surface  value  of  0  makes it invisible
  122.             (hidden). Each surface has a 'wireframe flag', which
  123.             indicates  whether  the  surface should be drawn  in
  124.             wireframe or filled mode. You may not have more than
  125.             999 surfaces.
  126.  
  127.     Objects:    Several surfaces make up objects. You set the start-
  128.             surface and the number of surfaces for every object.
  129.             In   order   to  sort  the   objects,    a so-called
  130.             'midpoint' exists for each object. This point may be
  131.             any point  in the point list  and may be manipulated
  132.             in order to make the object look right.  Take a look
  133.             at the demo objects to see how this works. The upper
  134.             limit for the  number of objects is 999.
  135.  
  136.  
  137.     Models:        Models contain one or many objects.
  138.  
  139. NOTE:    In  the  following text,  <type>  will be used  to  indicate  Point,
  140.     Surface or Object, depending  on  which panel  that is  highlighted.
  141.  
  142.  
  143. THE DEFAULT COLOURS
  144.  
  145.     The  colours 0 to 15 are  used in the model,  and may be changed any
  146.     way  you want them to.  However,  the colours 16 to  31 are  special
  147.     colours used in the  panels  and windows.  If you  wish to alter the
  148.     look of these,  used the table below.   The colour table looks a bit
  149.     confusing,  because  sprite  colours  and colours  used for  special
  150.     effects must be stored at certain  locations in the table.  However,
  151.     here it comes in all it so-called glory:
  152.  
  153.     Table entry    Describtion        Default colour
  154.  
  155.     16        Panel data text        Black
  156.     17        Menu colour 1        White
  157.     18        Main panel colour    Grey
  158.     19        Panel selected        Red
  159.     20        Bright edge        White
  160.     21        Shadow edge        Black
  161.     22        Headlines        Black
  162.     23        Panel not selected    Black
  163.     24        Number (#) text        Blue
  164.     25        SPRITE COLOUR!!!    Variable
  165.     26        Panel data text 2    White
  166.     27        Menu colour 2        Yellow
  167.     28        Menu colour 3        Red
  168.     29        SPRITE COLOUR!!!    Variable
  169.     30        Menu colour 4        Green
  170.     31        Menu colour 5        Orange
  171.  
  172. NOTE:    The entries marked  'SPRITE COLOUR!!!' may not be changed. Of course
  173.     course, you could always try,  but the program will change them back
  174.     at some time (when cycling sprite colours).
  175.  
  176.  
  177. THE SOURCE AND WHAT IT MEANS
  178.  
  179.     Consider the following example file of a  cube with a line on top of
  180.     it. Comments will not appear in the saved file.
  181.  
  182.     *** THE COMMON DATA SHARED BY ALL MODELS OF THE SAME TYPE ***
  183.  
  184.     DefOb:    dc.w    009            ;number of  points - 1
  185.         dc.w    001            ;number of objects - 1
  186.         dc.l    PTX            ;address of points
  187.         dc.l    XOAddr            ;pointers to objs' 1st surf
  188.         dc.l    XOS            ;pointer to list of
  189.                         ;objects' # of surfaces
  190.         dc.l    XOMid            ;pointer to list of
  191.                         ;objects' midpoints
  192.     *** THE MODEL STRUCTURE ***
  193.  
  194.     XO:    dc.l    DefOb            ;pointer to common data
  195.         dc.w    0            ;the following dc.s lines
  196.         dc.l    0            ;work as data storage in
  197.         dc.l    0            ;the author's filght sim
  198.         dc.l    0            ;system, and may be removed
  199.         dc.l    0            ;or used to whatever you
  200.         dc.l    0            ;find useful
  201.         dc.l    0
  202.         dc.w    0*16            ;X-, Y- and Z-rotation
  203.         dc.w    0*16            ;of the model
  204.         dc.w    0*16
  205.  
  206.     PTX:    dc.w     0100, 0100, 0100    ;the X, Y and Z values of
  207.         dc.w    -0100, 0100, 0100    ;the point
  208.         dc.w    -0100,-0100, 0100
  209.         dc.w     0100,-0100, 0100
  210.         dc.w     0100, 0100,-0100
  211.         dc.w    -0100, 0100,-0100
  212.         dc.w    -0100,-0100,-0100
  213.         dc.w     0100,-0100,-0100
  214.         dc.w     0000, 0100, 0000
  215.         dc.w     0000, 0500, 0000
  216.  
  217.     XO000:    Surf    000,003,002,001,$0006,0    ;the 1st, 2nd, 3rd and 4th
  218.         Surf    004,005,006,007,$0002,0    ;point, the colour value,
  219.         Surf    001,002,006,005,$0062,0    ;and the wireframe flag
  220.         Surf    000,004,007,003,$002E,0
  221.         Surf    000,001,005,004,$000F,0
  222.         Surf    003,007,006,002,$000D,0
  223.     XO006:    Surf    008,009,009,009,$0009,1    ;the line
  224.  
  225.     XOMid:    dc.w    000*6,009*6        ;the midpoints of the objs
  226.     XOAddr:    dc.l    XO000,XO006        ;the addresses of the first
  227.                         ;surfaces of the object
  228.     XOS:    dc.w    005,000            ;the number of surfaces of
  229.                         ;objects
  230.  
  231.  
  232. HOW THE BINARY FILE IS STORED
  233.  
  234.     This info may be useful if you want to write a program that converts
  235.     ObEd  files  into  files  that  other  3D  programs  can understand.
  236.     Consider  the  same example  model as above.  The binary  file  will
  237.     contain the following datas: (all values in hexadecimal)
  238.  
  239.     HEX VALUES            COMMENTS
  240.     ----------            --------
  241.  
  242.     4f 62 45 64            ;'ObEd'. ID text
  243.     0009                ;number of points   - 1
  244.     0001                ;number of objects  - 1
  245.     0006                ;number of surfaces - 1
  246.     0064 0064 0064            ;x,y,z values of the points
  247.     ff9c 0064 0064
  248.     ff9c ff9c 0064
  249.     0064 ff9c 0064
  250.     0064 0064 ff9c
  251.     ff9c 0064 ff9c
  252.     ff9c ff9c ff9c
  253.     0064 ff9c ff9c
  254.     0000 0064 0000
  255.     0000 01f4 0000
  256.     0000 0012 000c 0006 0006 0000    ;surface points, colours and wf-mode
  257.     0018 001e 0024 002a 0002 0000
  258.     0006 000c 0024 001e 0062 0000
  259.     0000 0018 002a 0012 002e 0000
  260.     0000 0006 001e 0018 000f 0000
  261.     0012 002a 0024 000c 000d 0000
  262.     0030 0036 0036 0036 0009 0001    ;the line
  263.     0000 0036            ;midpoints (*6)
  264.     0000 0000 0000 0048        ;1st surface start (relative offset)
  265.     0005 0000            ;objects' number of surfaces
  266.  
  267.  
  268. -------------------------
  269. --- THE CONTROL PANEL ---
  270. -------------------------
  271.  
  272.     The 'current'  point,  surface and  object is  the topmost  entry of
  273.     respective  panels.  The  selected  panel  has a highlighted  title.
  274.  
  275. THE POINTS PANEL
  276.  
  277.     This panel  contains (left  to  right)  the  point number  (#),  the
  278.     x-coordinate (X),  the y-coordinate (Y),  and the  z-coordinate (Z).
  279.  
  280. THE SURFACES PANEL
  281.  
  282.     This  panel  contains  (left to right)  the  surface number (#), the
  283.     first  point of the  surface  (POINTS),  the second,  the third, the
  284.     fourth,    the colour code (COL), and finally  the wireframe flag (WF).
  285.  
  286. THE OBJECTS PANEL
  287.  
  288.     This panel contains (left to right)  the first surface of the object
  289.     (SU),  the number  of surfaces it  contains in addition to the first
  290.     (i.e.  number of  surfaces - 1) (#)  and the  midpoint of the object
  291.     (MID).
  292.  
  293. THE ROTation DATA
  294.  
  295.     The number of  degrees the model is  rotated about the X-, Y- and Z-
  296.     axis (respectively) is displayed here.
  297.  
  298. THE NUMber DATA 
  299.  
  300.     The  number  of  points,  surfaces  and  objects  (respectively)  is
  301.     displayed here.
  302.  
  303. THE BUFfer DATA
  304.  
  305.     The buffered point,  surface and object (respectively) is  displayed
  306.     here.
  307.  
  308. THE DATa DATA
  309.  
  310.     The top row contains the  WAS-flags' status (1=on). W=WireFrame Mode
  311.     On, A=AllMode On, S=SpriteOff Mode On. The second and third row show
  312.     which two points that are  found to be equal.  They contain '---' if
  313.     none are found.
  314.  
  315. THE OTHER DATA
  316.  
  317.     Below  these datas  you will  find the  model's  current position in
  318.     3-space. At the very bottom, a colour reference list is displayed in
  319.     all its colourfulness.
  320.  
  321.  
  322. ---------------------
  323. --- THE MAIN VIEW ---
  324. ---------------------
  325.  
  326. MOVING AND ROTATING THE OBJECT
  327.  
  328.     You may move the object in  3-space using  the keys described in the
  329.     key overview file.
  330.     Moving and rotating is useful for seeing how it looks from different
  331.     ranges and angles.  Speaking of  angles,  the  entire object may  be
  332.     rotated using the numerical keypad. Note that Shifts speeds up these
  333.     operations.
  334.  
  335. EDITING THE OBJECT: Using edit windows
  336. --------------------------------------
  337.  
  338. EDITING THE POINTS
  339.  
  340.     In order to edit the points, use the cursor keys to scroll the point
  341.     list until the point  you want to modify tops  the point panel.  You
  342.     may now press  'ESC'  (of the point panel is highlighted) or 'F1'. A
  343.     window  will  open,  displaying  the  current  values of  the point.
  344.     Pressing 'X' will allow you to change the values of the x-coordinate
  345.     (Similar keypresses for the other  coordinates).  Press  'ENTER'  if
  346.     you're satisfied, or  'TAB' to cycle to  the next  coordinate. Press
  347.     'A' for accept if  you're pleased  with the new  values,  or 'R' for
  348.     regret if you're not. ESCape also works as an 'ooops' key on all the
  349.     edit windows.
  350.  
  351. EDITING THE SURFACES
  352.  
  353.     Editing the surfaces works in the same way as with the points.  Fill
  354.     in the point values and colour code as explained above. You can also
  355.     select whether the surface should be  drawn in wireframe mode or not
  356.     here.  Note the hotkeys on this screen too.  Press 'F2' at any time,
  357.     or 'ESC'  when the  'Surfaces' panel is  hightlighted to  enter this
  358.     window.
  359.  
  360. EDITING THE OBJECTS
  361.  
  362.     This works as with the two above,  and hotkeys are available on this
  363.     screen as well.  Press 'F3'  or  'ESC'  when the  'Objects' panel is
  364.     highlighted.
  365.  
  366.  
  367. EDITING THE MODEL: Using special keys
  368. --------------------------------------
  369.  
  370. EDITING THE POINTS
  371.  
  372.     The coordinate values may be changed using the  keys surrounding the
  373.     numerical keypad. Normal step value is 1,  but using SHIFTed keys, a
  374.     step value of 10 will be used.
  375.  
  376. EDITING THE SURFACES
  377.  
  378.     Using the keys  '4',  '5', '6' and  '7',  you may insert the current
  379.     point at position  1,  2,  3 and 4  respectively.  Pressing '8' will
  380.     change the surfaces's wireframe flag.
  381.  
  382. EDITING THE OBJECTS
  383.  
  384.     You  may change  the number  of  surfaces  in the current  object by
  385.     using the  keys '>'  (for more)  and '<' (for less). Pressing '9' on
  386.     the main  keypad will use  the current surface as the object's first
  387.     surface. Using the current point as the  object's 'midpoint' can  be
  388.     done by    pressing '0' on the main keypad.
  389.  
  390. FILE OPERATIONS
  391. ---------------
  392.  
  393. DELETING ALL (NEW)
  394.  
  395.     Pressing 'O' will delete everything currently stored in the computer
  396.     memory,  and leave you with a blank model.  Make  sure you save your
  397.     model before pressing this key. However, you can always get your old
  398.     model back by pressing the UNDO key. This key is described elsewhere
  399.     in this documentation.
  400.  
  401. LOADING A MODEL
  402.  
  403.     Loading a  model will  delete all your  previous work,  so make sure
  404.     you've saved it. A new model will be loaded,  and it will  appear at
  405.     the  same  positions  and using  the same  rotations as the previous
  406.     ones. Press 'Amiga-L' to do this.
  407.  
  408. LOADING A PALETTE
  409.  
  410.     You  may  load a  previously  saved palette  (range of  colours)  by
  411.     pressing 'Amiga-]'.
  412.  
  413. SAVING A MODEL AS BINARY
  414.  
  415.     When you are plased with your work,  save it by pressing  'Amiga-B'.
  416.     This should be done frequently,  and you should make backups of your
  417.     work.
  418.  
  419. SAVING A MODEL AS ASSEMBLY SOURCE
  420.  
  421.     This  is  the  single most useful  feature of  the editor.  The file
  422.     created may be  added to a demo or flight simulator for instant use.
  423.     You'd just have to change the label names slightly. The source is in
  424.     MC68000 assembly format, so don't try it in  your C source ;)  Press
  425.     'Amiga-T' to achieve this little miracle.
  426.  
  427. SAVING A PALETTE
  428.  
  429.     If you've created a palette that pleases your eyes (or otherwise, as
  430.     the case might be), simply press 'Amiga-[' to save it.
  431.  
  432. IMPORTING A MODEL
  433.  
  434.     You may wish to  import a  previously  done work  into your  current
  435.     model.  This routine  makes your dreams come true.  Very useful, and
  436.     very easy to use. The imported data is added at the end of the lists.
  437.     To execute, press 'Amiga-I'.
  438.  
  439. GETTING VERSION NUMBER
  440.  
  441.     Clicking  in the  data panel  area will display a little  info about
  442.     ObEd.
  443.  
  444.  
  445. QUITTING THE PROGRAM
  446.  
  447.     When you are pleased with your model (AND IT IS SAVED), you may quit
  448.     ObEd by pressing the 'Amiga-ESC' key combination.
  449.  
  450.  
  451. ADDITIONAL EDIT OPERATIONS
  452. --------------------------
  453.  
  454. NEW <TYPE>
  455.  
  456.     Pressing 'N' will add a single <type> at the end of the <type> list.
  457.     This will only  contain zeros,  and whould be edited before used  in
  458.     other <type>s.
  459.  
  460. INSERTING
  461.  
  462.     You may insert a new point  anywhere in  the  point list by pressing
  463.     'J'.   Inserting  surfaces  in  the  surface  list  is  a  bit  more
  464.     complictated.  The only place you may insert new surfaces, is before
  465.     the first surface of any object. For example, if your model contains
  466.     two  objects  (00 05 17 and 07 03 32)  you  may  insert  surfaces at
  467.     positions 00 or 07.
  468.  
  469. COPYING
  470.  
  471.     You  may copy  the contents of one  <type>  into  another,  by first
  472.     BUFFERING  the source <type>,  then selecting the destination <type>
  473.     and finally pressing 'C' to do the copying.
  474.  
  475. EXCHANGING
  476.  
  477.     Exchanging  the contents  of two <type>s,  works  like this:  BUFFER
  478.     the first <type>,  select the other <type> and press 'E' to exchange
  479.     these two <type>s.
  480.  
  481. DELETING
  482.  
  483.     Deleting <types> doesn't require  much brainwork.  Simply select the
  484.     <type>  you want  to delete and press 'D'.  If the <type> is used in
  485.     another type (e.g. a point is used in a surface),  you won't be able
  486.     to  delete it.  If you press  'Amiga-1'  you will  delete the  first
  487.     point, surface,  and object.  This is particulary  useful when a new
  488.     object is CREATEd and you want to delete the  dummy object, surface,
  489.     and point (all containing 0 as default).
  490.  
  491. MOVING
  492.  
  493.     Pressing the 'M' key,  a window will open,  asking you to  input the
  494.     X, Y, and Z movement.  If <type> is a surface,  it will move all the
  495.     points in the surface, and if it is an object,  it will move all the
  496.     points contained by its surfaces. Note that if any of the points are
  497.     used  by  other  surfaces  or  objects,  these will  change as well,
  498.     causing often unwanted results.
  499.  
  500. ROTATING
  501.  
  502.     If you press 'R', you will be asked for rotation angle about the X-,
  503.     Y-, and Z-axis, respectively. This angle must be in the range  0-359
  504.     degrees. Please note that different objects and surfaces may use the
  505.     same points,  and will thus change as well.  Only objects and models
  506.     may be rotated. If you wish to rotate a model, set the AllMode flag.
  507.  
  508. CLONING
  509.  
  510.     Selecting  a  <type> and  pressing 'Y', will clone this <type>, i.e.
  511.     creating  a new <type>  looking exactly like the  current  one,  and
  512.     placing it at the end of the <type> list.
  513.  
  514. BUFFERING
  515.  
  516.     Before you can use the COPY or EXCHANGE  functions,  you have to use
  517.     this function. What it does, is to select the first <type> that will
  518.     take part in the operation. For exapmle, if you were to exchange the
  519.     points  #2 and #9,  you should  select point #2,  buffer it,  select
  520.     point #9 and execute EXCHANGE.  As for COPY,  the BUFFERed <type> is
  521.     the  source  in the  operation.  Press 'SPACE' in order to  buffer a
  522.     <type>.
  523.  
  524. UNDOING CHANGES
  525.  
  526.     With all the functions and operations available to the user of ObEd,
  527.     you're bound to do a mistake sooner or later. Or maybe you just want
  528.     to try out an idea to see how it  looks,  but want to be able to get
  529.     the old model back.  Help is literally at hand.  Pressing the 'HELP'
  530.     key will undo the very last changes on your model.
  531.  
  532.  
  533. VIEWING THE MODEL
  534. -----------------
  535.  
  536.     Six preset views are available to the user. These are:
  537.  
  538.     View        Key
  539.  
  540.     Top        'T'
  541.     Underside    'U'
  542.     Front        'F'
  543.     Behind        'B'
  544.     Left        'L'
  545.     Right        'R'
  546.  
  547.  
  548. SPECIAL OPERATIONS
  549. ------------------
  550.  
  551. SUBSTITUTING (GLUING)
  552.  
  553.     If you dicovered that two of  your points share  the same coordinate
  554.     values,  you may want to  remove one of them.  This is done by first
  555.     searching for equal points  (as described above),  and then pressing
  556.     the 'G' key. Note that gluing when two equal points do not exist, is
  557.     no good.
  558.  
  559. FLIPPING A SURFACE
  560.  
  561.     Being able to flip a surface can be  useful many a time.  Exchanging
  562.     the  front  and back  colours of a  surface  can be  done with  this
  563.     function, but the main reason for incorporating it is this: Say that
  564.     you create a new surface,  only to find that you inserted the points
  565.     in anti-clockwise order,  thus making it hidden at the wrong angles.
  566.     One  solution could be to edit the colour codes  (exchange the first
  567.     and last bytes),  but a far cleaner approach  would be to  execute a
  568.     flip.  What this does,  is  simply to put  the  points  in an  anti-
  569.     clockwise  order  (relative to the input order).  Press 'K' for this
  570.     handy function.
  571.  
  572. CHANGING THE ORDER OF THE POINTS IN THE SURFACE
  573.  
  574.     Not  satisfied with  the order  at which  the points  appear in  the
  575.     surface?  Consider  your problems  solved!  Just press  'V' and  hey
  576.     presto! It has changed! Do you need this function? Probably not. But
  577.     life as a programmer sure isn't easy.  Just imagine having to put  a
  578.     function on every key  on a large,  never-ending keyboard. Functions
  579.     like this simply have to turn up once in a while.
  580.  
  581. MIRRORING
  582.  
  583.     Any  <type>  can  be  'mirrored',  i.e.  changing  the  sign of  the
  584.     specified coordinate(s) used by the <type>. Mirroring 'About X' will
  585.      change  the  sign  of  the  x-coordinates,  while  the  Y-  and  Z-
  586.     coordinated stay intact.  Example: You are  creating a  model  of  a
  587.     fighter aircraft,  and have  created  the left wing.  It would  be a
  588.     boring task to create the right wing from scratch, so what you do is
  589.     simply to CLONE the wing, and then MIRROR it 'About X'.
  590.     Note that  'About Z'  is not a  mathematically  correct  expression.
  591.     'About the XY-plane' would be far better, but I find  'About Z' more
  592.     intuitive,  in that you  see which  coordinate  that will be changed
  593.     without any harmful brainwork.  Press 'F6', 'F7' and 'F8' for X-, Y-
  594.     and Z-mirroring respectively.
  595.  
  596. SCALING
  597.  
  598.     Say you want to create St. Paul's Cathedral. That would fill quite a
  599.     few screens, wouldn't it?  A 3D insect would also be nice to be able
  600.     to create. But the Cathedral wouldn't be very surveyable at all, and
  601.     the  insect  would be very  hard to  edit because  of its less  than
  602.     impressing size.  Problems. What problems? You just have to make the
  603.     Cathedral small  and the insect large and scale them up or down when
  604.     you  are  pleased  with  their looks.  Some frequently  used scaling
  605.     percentages are available on various F-keys (see key overview),  and
  606.     you can input any  (within certain limits)  percentage  yourself  by
  607.     pressing 'Amiga-P'.
  608.  
  609. CREATING MODELS
  610.  
  611.     Pressing the '~' key at the main keyboard will give you an option to
  612.     create any of four 'predefined' models.  You will be asked for a few
  613.     parameters,  and ObEd will  create the models for you, complete with
  614.     points, surfaces and objects. The objects available are:
  615.  
  616.     BOX    You will be prompted for X-, Y- and Z-length from the centre
  617.         of the box. Simple, clean fun. Adds:
  618.             Box    Rectangle
  619.         Points      8        4
  620.         Surfaces  6        1
  621.         Objects   1        1
  622.  
  623.     PYRAMID    Enter X- and Y-length from the centre of the  bottom surface
  624.         as well as the height of the pyramid. Adds:
  625.             Pyramid     Triangle
  626.         Points      5        3
  627.         Surfaces  5        1
  628.         Objects      1        1
  629.  
  630.     PYRRAD    A  PyrRad  object a  pyramid   where all  the  surfaces  are
  631.         identical  as far  as size  is concerned.  You siply have to
  632.         enter  the radius of  the object,  i.e. the  length from its
  633.         centre to its corners. Adds:
  634.             PyrRad
  635.         Points      4
  636.         Surfaces  4
  637.         Objects   1
  638.  
  639.     CYLINDER
  640.         This is one handy object.  Entering the height,  radius  and
  641.         step value,  a cylinder  will be created.  The step value is
  642.         the number of 'pie parts'  the circle at the  top and bottom
  643.         will be divided into.  4 parts will result in a box,  and 10
  644.         will  result  in  something  that  may  be  mistaken  for  a
  645.         cylinder. Adds:
  646.             Cylinder      Disc
  647.         Points    2+2*STEPS    1+STEPS
  648.         Surfaces  3*STEPS    STEPS
  649.         Objects      1        1
  650.  
  651. NOTE:    STEPS is the step value as described above.
  652.  
  653.  
  654. MISC OPERATIONS
  655. ---------------
  656.  
  657. FINDING POINT
  658.  
  659.     It is often useful to find the first surface to include  the current
  660.     point. Pressing '/' will put this surface  at the top of the surface
  661.     display (making it 'current').  Repeatedly  pressing  this key, will
  662.     find all occurences of the point in the surface list.
  663.  
  664. CHECKING FOR UNUSED POINTS
  665.  
  666.     It isn't too hard to  imagine why  unused points are unwanted in the
  667.     point list. By pressing the '\' key,  the first of these will become
  668.     current.
  669.  
  670. FINDING EQUAL POINTS
  671.  
  672.     As the reader may understand,  having stored two points with exactly
  673.     the same coordinates,  is highly undesirable.  Pressing the '=' key,
  674.     the two equal points (if any)  will be stored  in a special  buffer,
  675.     and their  point numbers will be  displayed at  the screen.  You may
  676.     then use  the  GLUE  command  to  delete one of  the points  without
  677.     destroying the object.
  678.  
  679. CHANGING THE PALETTE
  680.  
  681.     The author is the first to admit that  the default  colours make the
  682.     expression  'tasteless'  fit quite  perfectly.  Therefore,  a little
  683.     utility to  change the palette is included.  This works the same way
  684.     as any other palette modifier the user may have  experienced,  so no
  685.     detailed explantion should be needed.  Your new palette may be saved
  686.     for later use. The 'P' key opens the palette window.
  687.  
  688. RESETTING THE PALETTE
  689.  
  690.     If your choise of colours wasn't a lucky one, simply press 'SHIFT-P'
  691.     for getting the default colours instead.
  692.  
  693. CHANGING SPRITE COLOUR
  694.  
  695.     Sometimes,  seeing  the   sprites  is  difficult  because  they  are
  696.     displayed in the same (or similar) colour  as the  background image.
  697.     This  problem  is easily  avoided by  changing  the  colour  of  the
  698.     sprites.  Use  the  '.'  key  on  the  numerical  keyboard  for this
  699.     operation.
  700.  
  701. -----------------
  702. --- THE FLAGS ---
  703. -----------------
  704.  
  705. THE ALLMODE FLAG
  706.  
  707.     When this flag is set,  some  operations work  on the  enire  model.
  708.     These are:  Scale,  Move and Rotate. Press  'Amiga-M'  to turn  this
  709.     flag on and off.
  710.  
  711. THE SPITESOFF FLAG
  712.  
  713.     Setting this flag turns  the sprites off.  Press '0' on the  numeric
  714.     keypad to turn this flag on and off.
  715.  
  716. THE WIREFRAME FLAG
  717.  
  718.     Setting this flag puts the editor in wireframe mode, i.e. everything
  719.     will be displayed in wireframe. Press 'DEL' to turn this flag on and 
  720.     off.
  721.  
  722. THE SPITENUMBER OFF FLAG
  723.  
  724.     If you set this flag, the spites  will not  display the pointnubmer,
  725.     i.e. you will only see the crosshairs. 'BACKSPACE' will set or clear
  726.     this flag.
  727.  
  728.  
  729. -------------------------------
  730. --- USING THE MOUSE IN OBED ---
  731. -------------------------------
  732.  
  733.     Using  the mouse,  you can select most  of the  operations that  are
  734.     available from the keyboard. For a menu overview,  see below.  Other
  735.     mouse operations:
  736.  
  737.     * Clicking on the 'quit' icon will exit the program  after a request
  738.     * Clicking in the graphics window will select the  point closest  to
  739.       the cursor
  740.     * Clicking in the <type> panels will select <type>
  741.     * Clicking in the data panel will display an 'About' window
  742.  
  743. --------------------
  744. --- THE MENU BAR ---
  745. --------------------
  746.  
  747.     Remebering  all the  keys is  something of a  nightmare.  Therefore,
  748.     menus are available at the top of the screen to let  you choose some
  749.     of the most  frequently used commands  easily.  The  menu  strip  is
  750.     divided into 5 parts:
  751.  
  752. Menu    Submenu        Submenu            Comment
  753.  
  754. FILE
  755.     New                    New model
  756.     Load        Load Object
  757.             Load Palette
  758.     Save        Save Object
  759.             Save Source
  760.             Save Palette
  761.     Import                    Import binary
  762.     About
  763.     Quit
  764.  
  765. EDIT
  766.     New                    New <type>
  767.     Edit                    Edit <type>
  768.     Insert
  769.     Copy
  770.     Exchange
  771.     Delete
  772.     Move
  773.     Rotate                    Object or Model (AllMode on)
  774.     Clone
  775.     Buffer
  776.     Undo                    Undo last changes
  777.  
  778. VIEW
  779.  
  780.     Top
  781.     Underside
  782.     Front
  783.     Behind
  784.     Left
  785.     Right
  786.     Reset
  787.  
  788. SPECIAL
  789.  
  790.     Glue                    Two equal points->one point
  791.     Flip                    Turn surface upside-down
  792.     Mirror        About X
  793.             About Y
  794.             About Z
  795.     Scale        0.50
  796.             0.66
  797.             0.75
  798.             0.90
  799.             1.10
  800.             1.25
  801.             1.50
  802.             2.00
  803.             Input            Input scale percentage
  804.     Create                    Create new object
  805.  
  806. MISC
  807.  
  808.     Find Point
  809.     Unused
  810.     Find Equal
  811.     WireFrame                Flags
  812.     AllMode
  813.     Sprites
  814.     Palette        Edit
  815.             Reset
  816.  
  817.  
  818. --------------------------------
  819. -- THE UNAVOIDABLE GREETINGS ---
  820. --------------------------------
  821.  
  822.     This is no  fancy hardware-bashing euro demo.  In fact, it's  just a
  823.     boring  system-friendly  utility.  Still,  where  would the Amiga be
  824.     today  without the  greetings that  pop up on  every single piece of
  825.     software  these  days?  So  here's  my  little,  no-scrolling  list:
  826.     (Appearing in alphabetical order)
  827.  
  828.     Dag Lem        (_Hot_ in Spain, eh? Nudge, nudge)
  829.     Lars Haugseth    (A true Amiga wizard)
  830.     Morten Amundsen    (Gives the expression Party Animal a new meaning)
  831.     Paal Johansen    (Soon getting an A4000, you workaholic?)
  832.     Stian W Arnesen    (Deeply in love with the Amiga)
  833.     Stig A Olsen    (Intel inside, but still a cool dude)
  834.     Svein A Johansen(Nothing beats his party moonwalkings)
  835.     Tommy Rivrud    (Get rid of that 'beard', eh?)
  836.  
  837.     And lots of  greetings to everybody at the University of Oslo.
  838.